Exception Logging এবং Debugging Techniques

Computer Programming - এপেক্স (Apex) Exception Handling (Exception Handling in Apex) |
270
270

Exception Logging এবং Debugging Techniques Apex-এ কোডের ত্রুটি শনাক্ত ও নির্ধারণ করতে সাহায্য করে। Logging এবং Debugging-এর মাধ্যমে প্রোগ্রামের কাজের ধারা বোঝা যায় এবং সমস্যার উৎস ও সমাধানের জন্য প্রয়োজনীয় তথ্য পাওয়া যায়।


Exception Logging

Exception Logging হলো Exception Handling-এর সময় ত্রুটি বা ব্যতিক্রমের তথ্য সংরক্ষণ করার প্রক্রিয়া। এটি প্রোগ্রাম চলাকালীন ত্রুটির বিস্তারিত তথ্য প্রদান করে, যা পরবর্তীতে সমস্যা সমাধানে সাহায্য করে। Apex-এ Exception Logging-এর জন্য সাধারণত System.debug() এবং Custom Logging মেকানিজম ব্যবহার করা হয়।

Exception Logging-এর মূল উদ্দেশ্য

  1. ত্রুটি সনাক্তকরণ: Exception Logging-এর মাধ্যমে ত্রুটির উৎস দ্রুত সনাক্ত করা যায়।
  2. ডিবাগিং সহজীকরণ: Exception Logging ত্রুটির বিস্তারিত তথ্য সরবরাহ করে, যা কোড ডিবাগ করতে সহজ করে।
  3. ত্রুটির সময় এবং স্থান ট্র্যাকিং: Exception কখন এবং কোথায় ঘটছে তা সহজে ট্র্যাক করা যায়।
  4. পরবর্তীতে বিশ্লেষণ: Exception লগ পর্যালোচনা করে প্রোগ্রামের গঠন ও ত্রুটি নির্ধারণ করা যায়।

Exception Logging-এর উদাহরণ

নিচের উদাহরণে Exception Handling-এর মাধ্যমে Exception Logging করা হয়েছে।

public class ExceptionLoggerExample {
    public void divideNumbers(Integer a, Integer b) {
        try {
            Integer result = a / b;
            System.debug('Result: ' + result);
        } catch (ArithmeticException e) {
            System.debug('Error: Cannot divide by zero.');
            System.debug('Exception Message: ' + e.getMessage());
            System.debug('Stack Trace: ' + e.getStackTraceString());
        }
    }
}
  • System.debug: Exception এর getMessage() এবং getStackTraceString() মেথডের মাধ্যমে ত্রুটির বিবরণ ও Stack Trace প্রিন্ট করা হয়েছে।
  • Stack Trace: Stack Trace প্রিন্ট করে Exception ঘটার স্থান এবং পথ খুঁজে পাওয়া যায়।

Custom Logging

Apex-এ Custom Logging-এর মাধ্যমে Exception Logging আরও উন্নত করা যায়, যেখানে লগ রেকর্ড ডাটাবেজে সংরক্ষণ করা যায় অথবা ইমেল, External API কল ইত্যাদির মাধ্যমে লগ পাঠানো যায়।

Custom Logging উদাহরণ

নিচের উদাহরণে Log__c নামে একটি Custom Object-এ লগ সংরক্ষণ করা হয়েছে।

public class CustomLogger {
    public static void logException(Exception e) {
        Log__c log = new Log__c();
        log.Exception_Message__c = e.getMessage();
        log.Stack_Trace__c = e.getStackTraceString();
        log.Log_Time__c = DateTime.now();
        insert log;
    }
}
public class ExceptionExample {
    public void riskyOperation() {
        try {
            // সম্ভাব্য ত্রুটিযুক্ত অপারেশন
            Integer result = 10 / 0;
        } catch (Exception e) {
            CustomLogger.logException(e); // Custom Logger-এ লগ সংরক্ষণ
        }
    }
}
  • Custom Object (Log__c): ত্রুটি লগ করার জন্য Log__c নামে একটি Custom Object ব্যবহার করা হয়েছে।
  • Custom Logging Method: logException() মেথডে Exception লগ করা হয়েছে, যা ডেটাবেজে সংরক্ষণ করা যায়।

Debugging Techniques

Debugging Techniques প্রোগ্রাম চলাকালীন ত্রুটি ও অপ্রত্যাশিত ফলাফল শনাক্ত ও সমাধানে সহায়ক। Apex-এ বেশ কিছু সাধারণ Debugging Techniques ব্যবহৃত হয়।

১. System.debug() ব্যবহার

System.debug() Apex-এ সবচেয়ে সাধারণ ডিবাগিং টুল, যা কোডের বিভিন্ন স্থানে ভেরিয়েবল বা লজিক্যাল স্টেট প্রিন্ট করে, যাতে ডিবাগিং সহজ হয়।

public class DebugExample {
    public void debugTest() {
        Integer a = 10;
        Integer b = 0;

        System.debug('Value of a: ' + a);
        System.debug('Value of b: ' + b);

        try {
            Integer result = a / b;
        } catch (Exception e) {
            System.debug('Error: Division by zero');
        }
    }
}

২. Debug Logs

Salesforce প্ল্যাটফর্মে Debug Logs ব্যবহার করে Session এবং Workflow ট্র্যাক করা যায়। Debug Logs Salesforce UI থেকে এনাবল করা যায়, যেখানে Apex Code, Workflow, Validation Rules, এবং SOQL Query Execution-সহ প্রায় সব কার্যক্রমের লগ দেখা যায়।

৩. Developer Console ব্যবহার

Developer Console Apex কোডের ত্রুটি ও কার্যক্রম অনুসন্ধানে সহায়ক। এটি Debug Logs বিশ্লেষণ, Query Editor, এবং Execution Log দেখার জন্য একটি কার্যকরী টুল।

  • Execution Overview: সব প্রক্রিয়ার সারসংক্ষেপ এবং ত্রুটির স্থান নির্দেশ করে।
  • Logs Panel: প্রোগ্রামের বিভিন্ন কার্যক্রম ও ত্রুটি প্রদর্শন করে।

৪. Debug Levels সেট করা

Debug Levels দিয়ে Logging Level নির্ধারণ করা যায়, যেমন INFO, DEBUG, WARN, ERROR। এটি ডিবাগ লেভেল অনুযায়ী নির্দিষ্ট তথ্য দেখতে সহায়ক।

৫. Checkpoint ব্যবহার

Checkpoint ব্যবহার করে কোডের নির্দিষ্ট স্থানে লগ বা ভেরিয়েবলের মান ট্র্যাক করা যায়। এটি Debug Logs-এ ভেরিয়েবল ও স্টেট পরীক্ষা করতে সহায়ক।


Exception Logging এবং Debugging-এর ভালো অনুশীলন

বিশ্লেষণমূলক Logging ব্যবহার: Exception Logging করতে হলে গুরুত্বপূর্ণ তথ্য যেমন Exception Message, Stack Trace, Timestamp লগ করা উচিত।

Debug Log সঠিক লেভেলে সেট করুন: Logging Level অতিরিক্তভাবে সেট করা উচিত নয়; শুধু প্রয়োজনীয় তথ্য দেখতে DEBUG বা INFO ব্যবহার করা ভালো।

Sensitive Data Logging এড়িয়ে চলুন: ব্যক্তিগত তথ্য বা সংবেদনশীল ডেটা Logging এড়িয়ে চলুন।

Custom Logging Database Limits মেনে চলুন: Custom Logging-এ অতিরিক্ত ডেটা ইনসার্ট না করা ভালো, কারণ Salesforce এর ডেটাবেজ গভর্নর লিমিট আছে।


সংক্ষেপে

  • Exception Logging প্রোগ্রামে Exception Handling-এর সময় ত্রুটির তথ্য সংরক্ষণে সহায়ক।
  • Debugging Techniques প্রোগ্রামের ত্রুটি শনাক্ত ও সমাধানে সহায়ক, যা System.debug(), Debug Logs, এবং Developer Console ব্যবহার করে সম্পন্ন করা যায়।
  • Custom Logging এবং Debugging Exception Handling ও প্রোগ্রামের কার্যক্রম বোঝার জন্য উন্নত বিশ্লেষণমূলক তথ্য প্রদান করে।

Exception Logging এবং Debugging Techniques ব্যবহার করে Apex কোডে ত্রুটি পরিচালনা ও বিশ্লেষণ করা আরও কার্যকর ও সহজ হয়, যা প্রোগ্রামিং এর উন্নত মান নিশ্চিত করে।

Content added By
Promotion